لا تتضمن الوظيفة القياسية لبرنامج LibreOffice Calcc وظائف لترجمة النص إلى لغات أخرى. ومع ذلك، يمكن لأي مستخدم إنشاء مثل هذه الوظيفة بشكل مستقل.
في هذه المقالة، سنلقي نظرة على الوظيفة المخصصة GoogleTranslate_YouLibreCalc()، والتي ستسمح لك بترجمة النص مباشرة في خلية في أي ورقة عمل.
تستخدم الوظيفة الموقع لترجمة النص "جوجل المترجم" ويمكن استخدامها في أي صيغ بشكل مستقل ومع وظائف قياسية أخرى.
لإضافة الدالة Google Translate ، افتح القائمة Tools - Macros - Edit Macros... ، يختار Module1 وانسخ النص التالي إلى الوحدة:
Option VBASupport 1 Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String) ' moonexcel.com.ua Dim FCalc As Object Dim WebsiteURL As String Dim XMLHTTP As Object Dim oHTML As Object Dim HTMLDoc As HTMLDocument Dim ObjClass As Object FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") TextToTranslate = FCalc.callFunction("ENCODEURL", Array(TextToTranslate)) SrcLang = LCase(SrcLang) TrgLang = LCase(TrgLang) IF SrcLang = "zh-cn" Then SrcLang = "zh-CN" IF SrcLang = "zh-tw" Then SrcLang = "zh-TW" IF TrgLang = "zh-cn" Then TrgLang = "zh-CN" IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate ' نقوم بتنفيذ استدعاء API لخادم الويب باستخدام طلب AJAX Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' نقوم بإنشاء مستند HTML باستخدام نص الاستجابة لطلب AJAX Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' نقوم بتحويل نص HTML إلى نموذج كائن باستخدام مكتبة عناصر الويب Microsoft HTML Object Library Set HTMLDoc = oHTML Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0) If Not ObjClass Is Nothing Then GoogleTranslate_YouLibreCalc = ObjClass.innerText End If ' نحن نحرر الذاكرة Set ObjClass = Nothing Set oHTML = Nothing Set XMLHTTP = Nothing End Function
التالي، إغلاق Macro Editor والعودة إلى ورقة العمل LibreOffice Cac ، حدد أي خلية واستخدم ميزتنا الجديدة GoogleTranslate_YouLibreCalc() .
يمكنك أيضًا استخدام الدالة GOOGLETRANSLATE() عن طريق تثبيت الامتداد المجاني YouLibreCalc.oxt أو نسخته كاملة المواصفات YLC_Utilities.oxt .
بعد ذلك ستكون هذه الوظيفة متاحة في كافة الملفات التي سيتم فتحها في LibreOffice Calc.